package com.cskaoyan.javase.overload._0introduction;

import org.omg.CORBA.PUBLIC_MEMBER;

/**
 * 方法重载的条件
 *
 * 方法的签名: "方法名(形参列表)",方法的签名可以唯一的指代一个方法(同一个类中)
 * 现在方法的重载要求方法名已经一致的,所以只能让形参列表不一致来构成方法的重载,而不是重复.
 *
 * 方法重载的语法要求：
 * 一个类中的多个方法，可以具有相同的方法名，但是它们的形参列表必须不同。
 *
 * 具体来说
 *      什么是形参列表不同呢?
 *      1.数量不同
 *      2.如果数量相同,考虑数据类型不同
 *      3.如果数量相同,数据类型也相同,考虑形参的位置/顺序不同
 *
 * 以上三种构成形参列表不同,就是构成方法重载的唯三条件,除此之外没有了.
 * 比如典型的:
 *      1.修饰符列表不同,返回值类型不同,是无法构成方法重载的
 *      2.方法的形参名不同,是无法构成方法重载的
 *  都是错误的.
 *
 * 扩展:
 *      1.方法重载的语法在日常的开发中,最多是在类中的构造器中使用(面向对象再讲)
 *      2.方法重载的语法在JDK源码中非常常见
 *
 *
 * @since 17:23
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class NewDemo {
    public static void main(String[] args) {
        System.out.println(123);
        System.out.println("123");
        System.out.println('a');
    }

    public static void test() {
    }
    /*public static int test() {
        return 0;
    }*/
    /* void test() {
    }*/

    public static void test(int a) {
    }
    /*public static void test(int b) {
    }*/

    public static void test(double a) {
    }

    public static void test(int b, double a) {
    }

    public static void test(double a, int b) {
    }
}
